import { request } from '@umijs/max'

export interface RoleItem {
  id: number
  roleName: string
  roleKey: string
  roleDesc?: string
  createTime?: string
  updateTime?: string
}

export interface CreatorItem {
  id: number
  userCode: string
  name: string
}

interface ApiResponse<T> {
  code: number
  msg: string
  data: T
  success: boolean
}


/** 查看角色列表 */
export async function roleList(data?: any) {
  return request<ApiResponse<RoleItem[]>>('/api/ofm/ofm-role/v1/list', {
    method: 'POST',
    data,
  })
}

/** 查看角色详情 */
export async function roleDetail(data: {
  id: number // 角色id
}) {
  return request<ApiResponse<any>>('/api/ofm/ofm-role/v1/detail', {
    method: 'POST',
    data
  })
}

/** 创建角色 */
export async function roleCreate(data: {
  creatorUserCodes: string[], // 	创作者UserCode
  email: string, // 邮箱
  ofmRoleIds: string[], // 角色ID
  password: string, // 密码
  pic?: string, // 头像
  userName: string // 用户名
}) {
  return request<ApiResponse<any>>('/api/ofm/ofm-role/v1/create', {
    method: 'POST',
    data
  })
}

/** 修改角色 */
export async function roleUpdate(data: {
  creatorUserCodes: string[], // 	创作者UserCode
  email: string, // 邮箱
  ofmRoleIds: string[], // 角色ID
  password: string, // 密码
  pic?: string, // 头像
  userName: string // 用户名
}) {
  return request<ApiResponse<any>>('/api/ofm/ofm-role/v1/update', {
    method: 'POST',
    data
  })
}


/** 删除角色 */
export async function roleDelete(data: {
  id: number // 角色id
}) {
  return request<ApiResponse<any>>('/api/ofm/ofm-role/v1/delete', {
    method: 'POST',
    data
  })
}
